package com.frcdi.qms.equipment.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.frcdi.qms.common.annotation.Excel;
import com.frcdi.qms.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 设备基础信息对象 md_equipment_base
 *
 * @author cell
 * @date 2023-12-07
 */
@ApiModel(value = "设备基础信息对象")
public class EquipmentBase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long equipmentId;

    /** 名称 */
    @Excel(name = "名称")
    private String equipmentName;

    /** 编号 */
    @Excel(name = "编号")
    private String equipmentNo;

    /** 类型（类型表id） */
    @Excel(name = "类型", readConverterExp = "类=型表id")
    private Long equipmentType;

    /** 型号 */
    @Excel(name = "型号")
    private String equipmentModel;

    /** 状态（0不可用/1） */
    @Excel(name = "状态", readConverterExp = "0=不可用/1")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 通讯方式(0无1...) */
    @Excel(name = "通讯方式(0无1...)")
    private String communicationWay;

    /** 变更申请单编号 */
    @Excel(name = "变更申请单编号")
    private String changeNo;

    /** 提交状态（0未提交 1已提交） */
    @Excel(name = "提交状态", readConverterExp = "0=未提交,1=已提交")
    private String submitStatus;

    /** 审核结果（0未审 1通过2未通过） */
    @Excel(name = "审核结果", readConverterExp = "0=未审,1=通过2未通过")
    private String auditResult;

    /** 返回状态（0未返回,1已返回,2驳回） */
    @Excel(name = "返回状态", readConverterExp = "0未返回,1已返回,2驳回")
    private String send;

    private String taskId;

    @Excel(name = "任务状态", readConverterExp = "0未发起,1已发起,2已撤销")
    private String taskStatus;

    /** 设备类型对象 */
    private EquipmentType equipmentTypeEntity;

    private String equipmentStatus;

    @TableField(select = false)
    private List<EquipmentCycle> cycles;
    /** 设备生命周期 */
    private String[] equipmentCycle;

    public List<EquipmentCycle> getCycles() {
        return cycles;
    }

    public void setCycles(List<EquipmentCycle> cycles) {
        this.cycles = cycles;
    }

    public String[] getEquipmentCycle() {
        return equipmentCycle;
    }

    public void setEquipmentCycle(String[] equipmentCycle) {
        this.equipmentCycle = equipmentCycle;
    }

    public void setEquipmentId(Long equipmentId)
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId()
    {
        return equipmentId;
    }
    public void setEquipmentName(String equipmentName)
    {
        this.equipmentName = equipmentName;
    }

    public String getEquipmentName()
    {
        return equipmentName;
    }
    public void setEquipmentNo(String equipmentNo)
    {
        this.equipmentNo = equipmentNo;
    }

    public String getEquipmentNo()
    {
        return equipmentNo;
    }
    public void setEquipmentType(Long equipmentType)
    {
        this.equipmentType = equipmentType;
    }

    public Long getEquipmentType()
    {
        return equipmentType;
    }
    public void setEquipmentModel(String equipmentModel)
    {
        this.equipmentModel = equipmentModel;
    }

    public String getEquipmentModel()
    {
        return equipmentModel;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setCommunicationWay(String communicationWay)
    {
        this.communicationWay = communicationWay;
    }

    public String getCommunicationWay()
    {
        return communicationWay;
    }
    public void setChangeNo(String changeNo)
    {
        this.changeNo = changeNo;
    }

    public String getChangeNo()
    {
        return changeNo;
    }

    public EquipmentType getEquipmentTypeEntity() {
        return equipmentTypeEntity;
    }

    public void setEquipmentTypeEntity(EquipmentType equipmentTypeEntity) {
        this.equipmentTypeEntity = equipmentTypeEntity;
    }

    public String getSubmitStatus() {
        return submitStatus;
    }

    public void setSubmitStatus(String submitStatus) {
        this.submitStatus = submitStatus;
    }

    public String getAuditResult() {
        return auditResult;
    }

    public void setAuditResult(String auditResult) {
        this.auditResult = auditResult;
    }

    public String getSend() {
        return send;
    }

    public void setSend(String send) {
        this.send = send;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getEquipmentStatus() {
        return equipmentStatus;
    }

    public void setEquipmentStatus(String equipmentStatus) {
        this.equipmentStatus = equipmentStatus;
    }

    public String getTaskStatus() {
        return taskStatus;
    }

    public void setTaskStatus(String taskStatus) {
        this.taskStatus = taskStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("equipmentId", getEquipmentId())
            .append("equipmentName", getEquipmentName())
            .append("equipmentNo", getEquipmentNo())
            .append("equipmentType", getEquipmentType())
            .append("equipmentModel", getEquipmentModel())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("communicationWay", getCommunicationWay())
            .append("changeNo", getChangeNo())
            .append("equipmentStatus", getEquipmentStatus())
            .append("taskStatus", getTaskStatus())
            .toString();
    }
}
